<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

# 引入管理模型
use App\Model\Admin;
# 引入加密门面
use Hash;
class LoginController extends Controller
{
    # 登录页面
    public function index(){
        # 进行优化登录 如果客户已经登录那就跳转到页面
        if(auth()->check()){
            return redirect( route("admin.index"));
        }
        return view("admin.login.login");
    }
    # 处理登录数据
    # 使用laravel封装进行登录检测
    public function login(Request $request){
        # 表单验证
        $data = $this->validate($request,[
            "username" => "required",
            "password" => "required",
//            "code"     => "required|captcha"
        ]);
        unset($data["code"]);
        # 根据传入的数据进行查询判断，在这个里面进行数据的处理，返回bool值true或false，如果为true就是正确的，false就是错误的
        $bool = auth()->attempt($data);
        # dump($bool);
        # 判断他是否为true，如果不是那就执行返回他的账号或密码错误
        if(!$bool){
            return redirect()->back()->with("error","账号或密码错误,请重新输入");
        }
        # 将ip地址修改为登录的ip
        auth()->user()->update(["last_ip"=>$request->ip()]);

        # 如果为true那就跳转页面
        return redirect(route("admin.index"));

    }

    # 传统的登录数据处理
//    public function login_auth(Request $request){
//        # 表单验证
//        $data = $this->validate($request,[
//            "username" => "required",
//            "password" => "required",
//            "code"     => "required|captcha"
//        ]);
//        unset($data["code"]);
////        dump($data);
//        # 根据用户名查询到一条数据
//        $list = Admin::where("username",$data["username"])->first();
////        dump($list);
//        # 判断他是否查询到用户
//        if($list){
//           $res = Hash::check($data["password"],$list->password);
//           # 判断他的密码是否正确
//            if($res){
//                # 存储session
//                session(["admin.user"=>$list]);
//                # 返回页面
//                return "首页";
//            }else{
//                # 如果密码错误就执行这里面的代码
//                return redirect()->back()->with("error","密码不正确,请重新输入");
//            }
//        }
//        # 如果找不到用户名就返回到登录页面
//        return redirect()->back()->with("error","账号或密码不正确,请重新输入");
//    }

}
